package com.smart.campus.interfaces;

import com.smart.campus.dto.ShTeachers;
import com.smart.campus.pojo.PagedResponse;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @BelongsProject: smart-campus
 * @BelongsPackage: com.smart.campus.interfaces
 * @Author: JinBao shan
 * @date 2024/9/23 20:12
 * @Description: TODO
 * @Version: 1.0
 */

public interface ShTeachersServiceApi {
    /**
     * @description: 班主任列表分页查询
     * @author: JinBao shan 
     * @date: 2024/9/23 20:24
     * @param: [teachers, pageNum, pageSize] 条件查询参数 页码 条数
     * @return: 返回分页查询后的内容
     **/
    @RequestMapping(value = "teachers/findShTeachersPagination")
    public PagedResponse<ShTeachers> findShTeachersPagination(@RequestBody ShTeachers teachers, @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize",defaultValue = "5") Integer pageSize);

    /**
     * @description: 新增班主任信息
     * @author: JinBao shan
     * @date: 2024/9/23 20:26
     * @param: [teachers] 班主任信息
     * @return: void
     **/
    @RequestMapping(value = "teachers/addShTeachers")
    public void addShTeachers(@RequestBody ShTeachers teachers);

    /**
     * @description: 根据班主任id返回对应班主任信息
     * @author: JinBao shan
     * @date: 2024/9/23 20:27
     * @param: [id] 班主任id
     * @return: 根据班主任id返回对应班主任信息
     **/
    @RequestMapping(value = "teachers/getShTeachersById")
    public ShTeachers getShTeachersById(@RequestBody ShTeachers teachers);

    /**
     * @description: 根据班主任信息中的id修改对应的班主任信息
     * @author: JinBao shan
     * @date: 2024/9/23 20:27
     * @param: [teachers] 班主任信息
     * @return: void
     **/
    @RequestMapping(value = "teachers/updateShTeachersById")
    public void updateShTeachersById(@RequestBody ShTeachers teachers);

    /**
     * @description: 根据班主任id删除对应的班主任信息
     * @author: JinBao shan
     * @date: 2024/9/23 20:28
     * @param: [id] 班主任id
     * @return: void
     **/
    @RequestMapping(value = "teachers/deleteShTeachersById")
    public void deleteShTeachersById(@RequestParam(value = "id") Integer id);

}
